#ifndef LOGICPOOL_H
#define LOGICPOOL_H

#include "warlocklib_global.h"
#include <initializer_list>
#include <stdexcept>

WARLOCK_NS_BEGIN

class WARLOCKLIBSHARED_EXPORT LogicPool
{
protected:
  bool m_has_t{false}, m_has_f{false};

public:
  LogicPool() = default;
  explicit LogicPool(std::initializer_list<bool> bools);

  bool anyRight() const;

  bool anyWrong() const;

  bool allWrong() const;

  bool allRight() const;

  void add(bool value);

  void add(std::initializer_list<bool> values);
};

WARLOCK_NS_END


#endif // LOGICPOOL_H
